#include<bits/stdc++.h>
using namespace std;
bool f(vector<int>& a,int k){
if(a[a.size()-k]>a[k-1]) return true;
else return false;
}
int main(){
int t;
cin>>t;
while(t--){
int n,k;
cin>>n>>k;
vector<long long int> ac(n+1,INT_MAX);
vector<int> ind;
vector<int> vals;
for(int i=0;i<k;i++){
int u;
cin>>u;
ind.push_back(u);
}
for(int i=0;i<k;i++){
int u;
cin>>u;
vals.push_back(u);
}
for(int i=0;i<ind.size();i++){
ac[ind[i]]=(long long)vals[i];
}
// for(int i=0;i<ac.size();i++){
// cout<<ac[i]<<" ";
// }
// cout<<endl;
vector<long long int> l(n+1,INT_MAX);
vector<long long int> r(n+1,INT_MAX);
for(int i=1;i<=n;i++){
l[i]=min(ac[i],l[i-1]+1);
}
for(int i=n;i>=0;i--){
if(i==n){
r[i]=ac[i];
}
else{
r[i]=min(ac[i],r[i+1]+1);
}
}
for(int i=1;i<=n;i++){
cout<<min(l[i],r[i])<<" ";
}
cout<<endl;
}
}
1527A. And Then There Were K | 1689. Partitioning Into Minimum Number Of Deci-Binary Numbers |
318. Maximum Product of Word Lengths | 448. Find All Numbers Disappeared in an Array |
1155. Number of Dice Rolls With Target Sum | 415. Add Strings |
22. Generate Parentheses | 13. Roman to Integer |
2. Add Two Numbers | 515. Find Largest Value in Each Tree Row |
345. Reverse Vowels of a String | 628. Maximum Product of Three Numbers |
1526A - Mean Inequality | 1526B - I Hate 1111 |
1881. Maximum Value after Insertion | 237. Delete Node in a Linked List |
27. Remove Element | 39. Combination Sum |
378. Kth Smallest Element in a Sorted Matrix | 162. Find Peak Element |
1529A - Eshag Loves Big Arrays | 19. Remove Nth Node From End of List |
925. Long Pressed Name | 1051. Height Checker |
695. Max Area of Island | 402. Remove K Digits |
97. Interleaving String | 543. Diameter of Binary Tree |
124. Binary Tree Maximum Path Sum | 1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts |